Copyright ã1993,1994 Scott Hess  All Rights Reserved

Welcome to Tickle Services

TickleServices is a dynamic NEXTSTEP Services Menu framework.  TickleServices is distributed as shareware (see the License section of the online manual).  Hopefully you will enjoy using TickleServices as much as I have enjoyed bringing it to you.

Scott Hess
12901 Upton Avenue South, #326
Burnsville, MN  55337
(612) 895-1208 (home)
(612) 890-1332 (office)
scott@gac.edu    or    shess@ssesco.com

For installation instructions, please consult the Getting Started file.

[To the archive maintainer:  TickleServices is shareware, so it probably belongs with commercial and semi-commercial offerings.  TickleServices1.1 runs under NS3.x for Motorola or Intel and replaces TickleServices1.02.  It should not replace TickleServices1.01, because version 1.01 can run under NeXTSTEP2.1 while version 1.1 cannot.]

Why You Should be Interested in TickleServices

Almost everyone in the NeXT market is familiar with at least one of the wide variety of service-providing ``applets'' available on the network.  These provide services ranging from reformatting and quoting email messages to copying the name of the currently selected file to the Pasteboard.  Unfortunately, such applets are too useful.  One begins to notice a row of services-providing applets arrayed across the bottom of the screen, plus a couple hanging around in the background as daemon processes.  Furthermore, almost all of these applets contain large amounts of duplicated code to implement the interface to the services facility, which translates directly into duplicated effort.

This is the situation TickleServices developed from.  It was not that there were complaints about the applets - they all seemed to work consistently well.  It just seemed that there should be a better way to accomplish the same thing in a more general fashion, without requiring 10 service-providing programs to do it.

TickleServices provides a framework upon which new services entries may be built.  It uses a string-based scripting language to direct execution, which allows many text-handling services to be written in one or two lines.  Instead of writing fifteen lines of Objective-C code to support two lines of actual services work, you just write the two lines and be done with it.  The scripting language is Tcl, for Tool Command Language, and is pronounced ``tickle''.

TickleServices allows for much more rapid prototyping of new services than Objective-C does.  When you modify a TickleServices service, you save it and the new version is available immediately for testing.  You need not wait for the provider to compile, nor be concerned with replacing the currently running version with the newly built version.  In the time it might take to look up the documentation needed to write an Objective-C services provider, you will likely have the service finished in TickleServices.  Then you can either get back to work, spend some quality time with your family/significant other, or better yet, apply the saved time to adding bells and whistles to your new service.

For instance, in April of 1993, there was a thread on one of the comp.sys.next.* newsgroups about different operations that would be useful in Workspace, such as ``Copy To'' and ``Group In Directory''.  This happened in the midst of the TickleServices beta cycle.  A couple minutes after reading the posts, I had an initial version of the services up and running.  That evening, I received emailed versions from some of my beta testers.  TickleServices makes creation of new services painless enough that it's easier to implement the service than it is to discuss whether or not the service is worth implementing.

If anything, TickleServices makes it too easy to build new services.  I've lost many hours in the past couple months writing interesting new services of dubious utility, just because it wasn't hard to do so.  My beta testers threatened to revolt as their services menus started to push off the bottom of the screen.  Watch yourself lest you spend more time adding tinsel to services than you spend actually using them!

Another innovation is that TickleServices separates the NEXTSTEP front-end program from the services-providing daemon.  The immediate advantage of this separation is that once you have TickleServices installed, you need not run the TickleServices.app front-end unless you wish to modify your services entries.  There need be no undesired icons sullying your Workspace.  As an added bonus, the TickleServices services are available from all programs, including the front-end.